﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LastFMGenNHibernate.EN;
using LastFMGenNHibernate.CAD;
using LastFMGenNHibernate.CEN;
using initializeDB;
using initializeDB.CP;
using NHibernate;

namespace initializeDB.CP
{
    public class CPEscucharRadio : BasicCP
    {
        public CPEscucharRadio() : base() { }

        public CPEscucharRadio(ISession sessionAux)
            : base(sessionAux)
        {
        }

        public IList<LastFMGenNHibernate.EN.LastFM.CancionEN> EscucharRadio(LastFMGenNHibernate.CEN.LastFM.UsuarioRegistradoCEN usuario, LastFMGenNHibernate.EN.LastFM.CancionEN cancion)
        {
            IList<LastFMGenNHibernate.EN.LastFM.CancionEN> listacanciones = new List<LastFMGenNHibernate.EN.LastFM.CancionEN>();

            LastFMGenNHibernate.CAD.LastFM.CancionCAD cancioncad = new LastFMGenNHibernate.CAD.LastFM.CancionCAD();
            LastFMGenNHibernate.CEN.LastFM.CancionCEN cancioncen = new LastFMGenNHibernate.CEN.LastFM.CancionCEN(cancioncad);

            int limite = 0;

            if (usuario.ValidarEstado("EscucharRadio", "suscrito"))//comprobamos el estado del suscrito
            {
                //aqui iria un bucle infinito de recuperar canciones con cancionsimilar
                //LastFMGenNHibernate.EN.LastFM.CancionEN similar = cancioncen.BuscarSimilar(cancion.Id);
                listacanciones = cancioncen.DevolverCanciones(1,50);
                //listacanciones.Add(similar);

            }
            else if (usuario.ValidarEstado("EscucharRadio", "registrado"))//comprobamos el estado del registrado
            {
                //aqui iria un bucle con limitacion de tiempo
                listacanciones = cancioncen.DevolverCanciones(1, 2);
            }
            return listacanciones;
        }
    }
}
